classpath指定多个路径

classpath指定多个路径

遇到java项目运行时classpath指定的问题,记录一下,运行java程序时通过-cp指定引用的class的路径,包括pacakage和jar包,需要注意的是:

  • 如果需要添加多个路径是,需要使用-cp "path1:path2"这样把路径包装起来,注意linux下分隔符为:,windows下分隔符为;
  • 如果需要引用多个jar包,通配符要用*,而不是*.jar

Windows下:

1
java -cp "./bin;./lib/*" suggestion.Main

Linux下:

1
java -cp "./bin:./lib/*" suggestion.Main

下面的命令是无效的:

1
2
3
4
5
# 多个路径时需要包装起来,下面是非法的表述
java -cp ./bin:./lib/*.jar suggestion.Main

# 无法引入所需要的jar包
java -cp "./bin:./lib/*.jar" suggestion.Main